package com.gxa.javaserver.interceptor;

import com.gxa.javaserver.pojo.Admin;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 登陆的拦截器
 */

public class LoginInterceptor  implements HandlerInterceptor {


    /**
     * 前置方法
     * return true:放行  /  false:拦截
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("拦截到啦！");

        //如何判断是否登录
        //获取session对象，然后获取里面保存的admin对象
        //如果admin对象不等于null，说明session有值 => 放行
        //如果admin对象等于null，说明没有登录 => 重定向到登陆界面

        //1.获取session对象
        HttpSession session = request.getSession();
        //2.获取保存的admin对象
        Admin admin = (Admin) session.getAttribute("admin");
        //3.判断是否为null
        if(admin != null){
            return true;
        }
        //4.重定向到登录界面
        response.sendRedirect("/login/page");

        return false;
    }


}
